home *** CD-ROM | disk | FTP | other *** search
- • 80k of RMA and rising! RMA stands for Relocatable Module Area. In
- English, this is the area of memory which some parts of the operating
- system (modules) use as work space. This is why when you first
- initialise your computer you will find that your RMA takes over 80k of
- memory. For those of you who are curious, here is a guide to the memory
- each module claims on power up:
- 3.04
- Module Workspace (bytes)
- 3.04
- FileSwitch 2400
- 3.04
- Desktop 528
- 3.04
- SystemDevices 288
- 3.04
- BBCEconet 80
- 3.04
- InternationalKeyboard 528
- 3.04
- Debugger 448
- 3.04
- SoundChannels 8464
- 3.04
- Sound Scheduler 8208
- 3.04
- WaveSynth 1760
- 3.04
- StringLib 8576
- 3.04
- Perussion 8800
- 3.04
- SpriteExtend 1296
- 3.04
- Draw 272
- 3.04
- FontManager 2832
- 3.04
- WindowManager 7920
- 3.04
- NetStatus 16
- 3.04
- Podule 208
- 3.04
- ADFS 656
- 3.04
- FileCore%ADFS 12,464
- 3.04
- HourGlass 1952
- 3.04
- TaskManager 3760
- 3.04
- PaletteUtil 3632
- 3.04
- Filer 4993
- 3.04
- ADFSFiler 2336
- 3.04
- ShellCLI 1872
- 3.04
- Total 84308
- 3.04
- RMA is also used to contain WIMP sprites (especially application icons
- stored in their !Sprite files) and relocatable modules, which add extra
- facilities to the ROM based operating system e.g. 65Tube provides BBC
- emulation. This means that as the Archimedes ‘sees’ and loads more
- applications/modules the memory acquired by the RMA grows and can quite
- easily reach 300k plus!
- 3.04
- Since there are several uses for the RMA, there are several ways of
- reducing the memory it requires:
- 3.04
- a) Remove individual modules using the *RMKill command e.g. *RMKill
- Percussion − this will only temporarily remove the facilities provided
- by a module.
- 3.04
- b) Unplug unwanted modules using the *RMUnplug command e.g. *RMUnplug
- BBCEconet − this will permanently remove the facilities provided by an
- operating system ROM module − so if you don’t have Econet or don’t use
- the Debugger then you can unplug the relevant modules and release their
- workspace. Note, you can reinvoke the facilities of a module by using
- the *RMReInit command.
- 3.04
- c) Use the following BASIC V program to clear the RMA sprite area:
- 3.04
- program segment missing
- 3.04
- d) If you have finished processing and saved all your work you could
- press <ctrl-break> but this is rather drastic.
- 3.04
- • ArcTerm update − Hugo Fiennes has updated ArcTerm v6.01 so that it
- works properly with the CET and CET+ standards. An upgrade can be
- obtained direct from Hugo Fiennes free of charge.
- 3.04
- • Arthur desktop − If any of you have changed over to RISC-OS but are
- pining for the old Arthur desktop (!) then see if you can get hold of a
- copy of Brainsoft’s Disk Transfer program. This provides a modified ram
- copy of the desktop with extra features added. You will then be able to
- access your old desktop diaries, etc. Dave Woods.
- 3.04
- • ASCII BASIC programs − BASIC V can load and renumber an untokenised
- text file with the *BASIC -load <filename> command (the same applies
- with the -chain option). Thus you don’t really need a BASIC to ASCII
- convertor; you could just keep all your BASIC programs in ASCII, at
- least while you develop them, and still be able to edit them using a
- text editor, e.g. TWIN or !Edit.
- 3.04
- • Auto-booting applications − If you want a RISC-OS application to load
- or run as soon as the disc is inserted then you should modify the !Boot
- file in the application to execute the !Run file i.e. add the command
- *Run <Obey$Dir>.!Run in the !Boot file. This technique could be used,
- for example, to automatically load the BASIC Editor when a development
- disc is inserted.
- 3.04
- • Break key action − You can set the action of the <break> key using the
- *FX 247,<n> command. The value byte <n> alters <break> and modifiers of
- it as follows:
- 3.04
- Bits Key Combination
- 3.04
- 0.1 <break>
- 3.04
- 2.3 <shift-break>
- 3.04
- 4.5 <ctrl-break>
- 3.04
- 6.7 <ctrl-shift-break>
- 3.04
- Each two bit number may take on one of these values:
- 3.04
- Value Effect
- 3.04
- 00 Act as <reset> key
- 3.04
- 01 Act as <escape> key
- 3.04
- 10 No effect
- 3.04
- 11 Undefined
- 3.04
- The default is *FX 247,1 which makes <break> act as if it were <escape>
- and all other combinations cause a reset.
- 3.04
- • Desktop grey scale? If you modify colours 0 or 7 (white or black)
- using the desktop palette utility then the palette application will
- attempt to interpolate the colours in between i.e. colours 1-6. Try it
- and see!
- 3.04
- • Don’t move your mouse! Whilst waiting for a program to complete a
- lengthy process (e.g. when the hourglass is on) it is best not to move
- the mouse as keeping track of the mouse movements takes up processor
- time.
- 3.04
- • Faster BASIC SWI’s − When using the SYS command within a BASIC V
- program, it is quicker to use a number instead of a string. e.g. SYS6
- instead of SYS “OS_Byte”. However, the best way to obtain the number
- values is to use a BASIC variable and “OS_SWINumberFromString”. This
- increases speed while maintaining machine independence and readability.
- For example:
- 3.04
- program segment missing
- 3.04
- • Insert/overwrite with !Edit − It is possible to toggle between insert
- and overwrite mode in Edit by pressing <shift-f1>.
- 3.04
- • Mouse step − you can set the sensitivity of your mouse by using the
- BASIC V MOUSE STEP command e.g. MOUSE STEP 4 means that the pointer will
- move 4 O.S. pixels for every mouse pulse. The ‘sensitivity parameter’
- can take a zero or even a negative value, so that you can freeze the
- mouse or even invert it!
- 3.04
- • Multiple entry PROC’s and FNs − You can have multiple entries to
- procedures and functions, although it may not be good programming style.
- This is because lines beginning with DEF are not executed, so you can
- have further DEFs within the body of a procedure/function, and enter at
- these points with an appropriate call − this might be particularly
- useful to have a first entry, set up some default parameters, and then
- have entry to override them:
- 3.04
- program segment missing
- 3.04
- • O.S. case sensitivity − Contrary to what has been said in the past,
- the operating system is almost entirely case-insensitive, unlike BASIC,
- and although the case of filenames and variable names is preserved it is
- not significant. Quotes are also generally unnecessary except when
- including a space in a parameter.
- 3.04
- • Removing recursive directories (cont’d) − If you accidentally copy a
- directory into itself then the best way to tidy the disc up is to create
- a RAM disc and move the unwanted files into it (you can move a file by
- dragging it into the filer window while holding the <shift> button
- down).
- 3.04
- • Time for function keys − Function key strings are just treated as OS
- variables called Key$<n>, where <n> is the key number. This means that
- all the commands relate to system variables can be used with function
- keys e.g. *ShowKey$ will display key definitions. *SetMacro Key$0
- <Sys$Time> will make <f0> display the time and so on.
- 3.04
- • Using *GOS − You can use the *GOS command from the desktop to prevent
- returning if you accidentally hit the <return> key. Once you have
- finished typing your *commands you can use the •Quit command to go back
- to the desktop.
- 3.04
-